/*
 * CatalogoIconProductos.java
 *
 * Created on 26 de octubre de 2006, 11:59 AM
 */

package inc.jmc.cyberboard.ui.ventas;

import inc.jmc.cyberboard.common.ImageLoader;
import inc.jmc.cyberboard.common.NumFormat;
import inc.jmc.cyberboard.dao.Dao;
import inc.jmc.cyberboard.dao.ProductosDao;
import inc.jmc.cyberboard.log.Log;
import inc.jmc.cyberboard.entitybeans.ProductosWithIconos;
import inc.jmc.cyberboard.ui.ventas.common.VentasTableModel;
import inc.jmc.cyberboard.ui.ventas.common.ProductoIconRenderer;
import java.awt.Dimension;
import java.text.NumberFormat;
import java.util.Vector;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.SwingConstants;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableColumn;

/**
 *
 * @author  JOlguin01
 */
public class CatalogoIconProductos extends javax.swing.JPanel {
    
    /** Creates new form CatalogoIconProductos */
    VentasTableModel dtm=new VentasTableModel();
    public static final Object[] header=new Object[]{"","",""};
    public static final int INCREMENTO_SCROLL=10;
    JPanel gridPanel;
    DetalleGridVentas detalleVentas;
    public CatalogoIconProductos(VentasFrm frm) {
        this.detalleVentas=frm.getDetalleGrid();
        initComponents();
        gridPanel=new JPanel();
        gridPanel.setLayout(new java.awt.GridLayout(0, 3, 2, 2));
        jScrollPane1.getVerticalScrollBar().setUnitIncrement(CatalogoIconProductos.INCREMENTO_SCROLL);
        try{
            loadProductsBD();
        }
        catch(Exception ex)
        {
            ex.printStackTrace();
            this.updateTableUI();
        
        }
    }
    /**
     * Este metodo es invocado desde el metodo init de de este frame.<BR>
     * Carga todos los datos que se encuentran en la base de datos y los despleiga en el grid.<BR>
     * @throws java.lang.Exception Lanza una excepcion de base de datos cuando se hace la consulta correspondiente.
     */
    public void loadProductsBD()throws Exception
    {
        
                ProductosDao recsDao=new ProductosDao();
                java.sql.Connection conn=Dao.getConnection();
                java.util.ArrayList arry=recsDao.getAllProductosWithIconsBeans(conn);
                conn.close();
                
                gridPanel.removeAll();
                
                for(int i=0;i<arry.size();++i)
                {
                    ProductosWithIconos record=(ProductosWithIconos)arry.get(i);
                    String nombre=record.getNombreCorto();
                    ImageIcon immagen1=null;
                    if(record.getIconoProducto().isReservado().booleanValue())
                    {
                        int idIcono=record.getIdIcono().intValue();
                        immagen1=ImageLoader.images[idIcono];
                    
                    }
                    else
                    {
                        String path=record.getIconoProducto().getRuta();
                        immagen1=new ImageIcon(path);
                    }
                    String precio1=NumFormat.money(record.getPrecio());
                    ProductoIconRenderer iconoLabel=new ProductoIconRenderer(immagen1,"<html>"+nombre+" <strong>"+precio1+"</strong><html>",record,this.detalleVentas);
                    gridPanel.add(iconoLabel);
                    
                }
                this.updateTableUI();
    }
    
    public void updateTableUI()
    {
        jScrollPane1.setViewportView(gridPanel);
        jScrollPane1.updateUI();
    }
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
    private void initComponents() {
        jScrollPane1 = new javax.swing.JScrollPane();
        productosIconTable = new javax.swing.JTable();

        setLayout(new java.awt.BorderLayout());

        productosIconTable.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        jScrollPane1.setViewportView(productosIconTable);

        add(jScrollPane1, java.awt.BorderLayout.CENTER);

    }// </editor-fold>//GEN-END:initComponents
    
    
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTable productosIconTable;
    // End of variables declaration//GEN-END:variables
    
    
}
